package com.member.shop.domain;

import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.member.common.annotation.Excel;
import com.member.common.core.domain.SingleBaseEntity;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import com.member.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 店铺认证对象 sys_biz_shop_certification
 *
 * @author lixinchen
 * @date 2025-01-10
 */
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_biz_shop_certification")
public class SysBizShopCertification extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 销售业务员（销售归属人）认证时选择销售归属人
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long salesUserId;


    /**
     * 销售业务员（销售归属人）认证时选择销售归属人
     */
    @TableField(exist = false)
    private String salesUserPhone;

    /**
     * 唯一id
     */
    @TableId(type = IdType.AUTO)
    private Long id;


    /**
     * 用户id
     */
    @Excel(name = "用户id")
    private Long userId;


    /**
     * 店铺名称
     */
    @Excel(name = "店铺名称")
    private String shopName;


    /**
     * 身份证号码
     */
    @Excel(name = "身份证号码")
    private String idCard;


    /**
     * 店铺头像
     */
    @Excel(name = "店铺头像")
    private String shopCover;


    /**
     * 店铺类型
     */
    @Excel(name = "店铺类型")
    private String shopType;


    /**
     * 认证状态(0待提交 1 已提交、2 未通过、3 已认证)
     */
    @Excel(name = "认证状态(0 待提交 1 已提交、2 未通过、3 已认证)")
    private Integer certificationStatus;


    /**
     * 申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime applyTime;


    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime auditTime;


    /**
     * 联系人
     */
    @Excel(name = "联系人")
    private String contacts;


    /**
     * 身份证正面图片
     */
    @Excel(name = "身份证正面图片")
    private String idFrontPic;


    /**
     * 身份证反面图片
     */
    @Excel(name = "身份证反面图片")
    private String idBackPic;


    /**
     * 营业执照图片
     */
    @Excel(name = "营业执照图片")
    private String bussCertificatePics;


    /**
     * 省份
     */
    @Excel(name = "省份")
    private String province;


    /**
     * 城市
     */
    @Excel(name = "城市")
    private String city;


    /**
     * 区
     */
    @Excel(name = "区")
    private String area;


    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    private String address;


    /**
     * 是否删除(0：未删除，1：删除)
     */
    @Excel(name = "是否删除(0：未删除，1：删除)")
    private Integer deleted;

    @TableField(exist = false)
    private SysBizUser user;

    @TableField(exist = false)
    private SysBizUser salesUser;


    /**
     * 备注
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String remark;
}
